home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / program / gemxx19.zoo / gem++19 / include / gemfn.h < prev    next >
C/C++ Source or Header  |  1993-11-16  |  1KB  |  50 lines

  1. /////////////////////////////////////////////////////////////////////////////
  2. //
  3. //  GEMfont
  4. //
  5. //  A GEMfont is a textface, plus a size.
  6. //
  7. //  This file is Copyright 1992,1993 by Warwick W. Allison.
  8. //  This file is part of the gem++ library.
  9. //  You are free to copy and modify these sources, provided you acknowledge
  10. //  the origin by retaining this notice, and adhere to the conditions
  11. //  described in the file COPYING.LIB.
  12. //
  13. /////////////////////////////////////////////////////////////////////////////
  14.  
  15. #ifndef GEMfn_h
  16. #define GEMfn_h
  17.  
  18. class VDI;
  19. #include <bool.h>
  20.  
  21. class GEMfont {
  22. public:
  23.     GEMfont(VDI&, int code, int size);
  24.     GEMfont(VDI&); // current font
  25.  
  26.     // Same font in another VDI.  VDI's must have same fonts loaded.
  27.     //
  28.     GEMfont(VDI&, const GEMfont&);
  29.  
  30.     int Code() const;
  31.     void Code(int);
  32.     char* Name() const;
  33.  
  34.     bool ArbitrarilySizable() const;
  35.     int PointSize() const;
  36.     void PointSize(int);
  37.     bool Larger(); // go to next larger size.  TRUE if could.
  38.     bool Smaller(); // go to next smaller size.  TRUE if could.
  39.  
  40.     void Use() const; // Use in the VDI of the font.
  41.  
  42. private: // 8 bytes - small enough to pass around by value.
  43.     VDI& vdi;
  44.     short code;
  45.     unsigned char size;
  46.     unsigned char flags;
  47. };
  48.  
  49. #endif
  50.